import Vue from 'vue'
import VueRouter from 'vue-router'
import Login from '@/views/login/index'
import Home from '@/views/home/index'
import Layout from '@/views/layout/index'
import Article from '@/views/article/'

Vue.use(VueRouter)

const routes = [{
        path: '/login',
        name: 'login',
        component: Login
    },
    {
        path: '/',
        // name: 'layout',
        component: Layout,
        children: [{
            path: '', // path为空，会作为默认子路由渲染
            name: 'home', // 如果有默认子路由，就不要给父路由起名了，否则会有警告
            component: Home
        }, {
            path: '/article',
            name: 'article',
            component: Article
        }]
    }
]

const router = new VueRouter({
    routes
})

// 可以使用 router.beforeEach 注册一个全局前置守卫： 拦截页面的
// 所有的页面的路由导航都会经过这里
router.beforeEach((to, from, next) => {
    console.log('有页面进来了')
    console.log(to)
    console.log(from)
    const user = JSON.parse(window.localStorage.getItem('user'))
    // 如果要访问的页面不是login，校验登录状态
    // 如果没有登录，则跳转到登录页；如果登录了则允许通过
    // 校验非登录的登录状态
    if (to.path !== '/login') {
        if (user) {
            next()
        } else {
             next('/login')
        }
    } else {
        // 登录页面，正常允许通过
        next()
    }
})
// to:     要去的路由信息
// from:   来自哪的路由信息
// next()  允许通过
export default router
